-
Interrupt signals from PCI devices
- PCI devices can request service using one of four sideband interrupt pins:
- INTA#, INTB#, INTC#, INTD#.
- PCI devices can request service using one of four sideband interrupt pins:
-
Legacy single-CPU systems
- The interrupt controller collects the device interrupt.
- Then it asserts the INTR pin to the CPU.
- The CPU must figure out which device caused the interrupt and then handle it.
- This process took several bus cycles and was inefficient.
-
Multi-CPU systems and APIC
- The old single-wire INTR line wasn’t enough for multiple CPUs.
- APIC (Advanced Programmable Interrupt Controller) improved this:
- Instead of pulling one CPU’s INTR pin, the APIC sends a message to one or more CPUs.
- This allows smarter interrupt distribution (load balancing between CPUs).
-
Still some inefficiency
- APIC is better, but the CPU still needs to:
- Identify the source device.
- Execute the Interrupt Service Routine (ISR).
- APIC is better, but the CPU still needs to: